27−9スクロ−ルバ−使用例
具体的ソ−スの比較はExcel95RGB番号取得と、 Excel97RGB番号取得参照のこと。

青字はコントロ−ルへ付けた名前


(1) テキストボックスへ色付け

Sub ki97a()
    With UserForm1
        R = .Scr1.Value
        G = .Scr2.Value
        B = .Scr3.Value
        
        .ed1.Text = Hex(R)
        .ed2.Text = Hex(G)
        .ed3.Text = Hex(B)
        
      UserForm1.tx2.BackColor = RGB(R, G, B)
   End With
End Sub

' --------------------------------------------------
Sub ki95a()
With DialogSheets("Dialog1")
        R = .ScrollBars("scr1").Value
         '略
        .EditBoxes("ed1").Text = Hex(R)
      '略
        With .Rectangles("tx2").Interior
             .Color = RGB(R, G, B)
        End With
   End With
Excel95ではコントロ−ル(ボタン・エデッタ・テキスト等)そ種類の指定も 必要で面倒だったが、Excel97ではオブジェクト名を指定すれよい。

(2) テキスの数値でスクロ−ルバ−の位置を変える

Private Sub ed1_Change()
 ra = ed1.Text
    On Error Resume Next
       If "&h" & ra > 255 Then
          ra = 0
          On Error GoTo 0
       Else
          ra = Val("&h" & ra)
       End If
    Scr1.Value = ra
    ki97a
End Sub
'ed2・ed2は略
' --------------------------------------------------
Private Sub Scr1_Change()
   ki97a
End Sub
'Scr2・Scr3は略

' --------------------------------------------------
Sub ki335r()
    ra = DialogSheets("Dialog1").EditBoxes("ed1").Text
    On Error Resume Next
       If "&h" & ra > 255 Then
          ra = 255
          On Error GoTo 0
       Else
          ra = Val("&h" & ra)
       End If
    DialogSheets("Dialog1").ScrollBars("scr1").Value = ra
    ki335a
End Sub
本例のケ−スではスクロ−ルバ−のイベントについては、Excel95ではスクロ−ルバ−へ実行マクロ を登録し特別にマクロ記述は不要であったが、Excel97では上記のようにイベントプロシ−ジャを 記述。

27−10Windows画面へユ−ザ−フォ−ム表示
・下記例"start1プロシ−ジャ"では初期設定を指定後ユ−ザ−フォ−ムを表示。
・なお、"start1"はクラスモジュ−ルのWorkbook_Openでなく標準モジュ−ルに記述により再実行が 容易になる。
・イベント"Initialize"はオブジェクト(本例はUserForm)が表示される直前に発生。
・Excel自体を最小化することによりユ−ザ−フォ−ムはWindows画面へ表示される。
・最小化したアプリケ−ションウインド(本例はExcel)はアクティブにする必要あり


Private Sub Workbook_Open()
   start1
End Sub
-----------------------------------------------------------
Private Sub UserForm_Initialize()
  Application.WindowState = xlMinimized
  AppActivate "microsoft excel"
End Sub
-----------------------------------------------------------
Sub start1()
    ActiveWindow.DisplayGridlines = False
    Application.ScreenUpdating = False
' ダイアログ表示
  nomm = 1
  With UserForm1
     .Caption = "ファイル制御 KIcopy2000" & va
     .opt1.Value = True
     .opt5.Value = True
     .opt9.Value = True
    .txt1.Text = 0
    .txt2.Text = Date
   End With
    UserForm1.Show
End Sub

'参考:上記はWindowStateへアイコンでExcelを表示するが下記はExcel非表示
-----------------------------------------------------------
Private Sub UserForm_Initialize()
  Application.Visible = False
End Sub
-----------------------------------------------------------


27−11チェックボックス
本例は、チェックボックスにマ−クした時、Frame2を 表示し、Frame2の内容を使用できるようにしました。



Private Sub chk11_Change()
If UserForm1.chk11.Value = True Then
    fsh = 1
     With UserForm1
         .Frame2.Visible = True
     End With
Else
    fsh = 0
     With UserForm1
         .Frame2.Visible = False
     End With
End If
End Sub


27−12イメ−ジ
本例は、条件指定が変わった時同じ場所に別な イメ−ジを表示する例。



Private Sub opt31_Change()
If UserForm3.opt31.Value = True Then
     With UserForm3
       .img31.Picture = LoadPicture(phn & "\dbeng31.bmp")
     End With
End If
End Sub

Private Sub opt32_Change()
If UserForm3.opt32.Value = True Then
     With UserForm3
       .img31.Picture = LoadPicture(phn & "\dbeng32.bmp")
     End With
End If
End Sub


27−13 Web
本例は、実際の私のHPを貼り付けた例


Sub web()
    UserForm1.Show
    UserForm1.WebBrowser1.Navigate _
     "http://excel-vba.hoops.ne.jp/index.html"
End Sub
通常コントロ−ルツ−ルボックスにには、WebBrowserが表示 されていませんが、VBEのメニュ−から[ツ−ル][その他のコントロ−ル] を選択し[Microsoft Web Browser]にマ−クを付ければ表示されます。

本例は、Webを表示するだけですが、実際の使用例として「Webページを見ながら Excelシ−トへ必要事項をメモ書き」、 [サンプル21] KIwebcheckを掲載しています。


目次へ戻る

PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル